package com.xbongbong.paas.pojo.vo;

import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.saas.enums.SignInSetEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * 签到设置返回
 * @author youli.chen
 * @date 2019/1/9 19:36
 * @since v1.0
 * @version v1.0
 */
@Setter
@Getter
@ToString
public class SignInSetVO extends BaseVO {

    /**
     * 主键
     */
    private Long signInId;

    /**
     * 位置是否允许微调：0：不允许，1：允许
     */
    private Integer ifAdjust;

    /**
     * 微调距离类型：1：100米，2：200米，3：500米，4：1000米
     */
    private Integer adjustType;

    /**
     * 微调距离类型：1：100米，2：200米，3：500米，4：1000米
     */
    private String adjustTypeShow;

    /**
     * 微调距离类型：100 200 500
     */
    private Integer adjustTypeValue;

    /**
     * 客户是否必填：0：不必填，1：必填
     */
    private Integer customerRequired;

    /**
     * 客户位置是否更新：0：不更新，1：更新
     */
    private Integer customerLocationUpdate;

    /**
     * 可见客户范围：1：500米，2：1000米，3：1500米，4：3000米，5：不限制
     */
    private Integer visibleCustomerDistance;

    /**
     * 可见客户范围：1：500米，2：1000米，3：1500米，4：3000米，5：不限制
     */
    private String visibleCustomerDistanceShow;

    /**
     * 可见客户范围 500 1000 1500
     */
    private Integer visibleCustomerDistanceValue;

    /**
     * 是否开启‘客户可见范围’，0不可编辑，1可编辑   默认不可编辑
     */
    private Integer visibleDistanceEditable = 0;

    /**
     * ‘员工微调’下拉筛选项
     */
    private List adjustTypeArr = adjustTypeList();

    /**
     * ‘可见客户范围’下拉筛选
     */
    private List visibleCustomerDistanceArr = visibleCustomerDistanceList();

    /**
     * 图片是否必填 0：非必填 1：必填
     */
    private Integer image;

    /**
     * 图片来源 0：仅允许拍照上传 1：允许上传相册图片
     */
    private Integer imageSource;

    /**
     * 每次签到后，是否自动生成一条跟进记录：0：不生成， 1：生成
     */
    private Integer ifFollowRecords;

    /**
     * ‘员工微调’下拉筛选项  数据封装
     */
    private List adjustTypeList(){
        return SignInSetEnum.AdjustType.getAdjustTypeList();
    }

    /**
     * ‘可见客户范围’下拉筛选  数据封装
     */
    private List visibleCustomerDistanceList(){
        return SignInSetEnum.VisibleDistance.getVisibleDistanceList();
    }
}
